/*************************************************************************
	> File Name: EP31.cpp
	> Author: 
	> Mail: 
	> Created Time: 五  8/ 9 14:33:43 2019
 ************************************************************************/
#include <stdio.h>
#define max_m 8
#define max_n 200

int w[max_m + 5] = {1, 2, 5, 10, 20, 50, 100, 200};
//f(i + 1, j) = f(i, j) + f(i + 1, j - w[i] - 1)
int f[max_n + 5] = {0};

int main() {
    f[0] = 1;
    for (int k = 0; k < max_m; k++) {
        for (int j = w[k]; j <= max_n; ++j) {
            f[j] += f[j - w[k]];
        }
    }
    printf("%d\n", f[max_n]);
    return 0;
}
